package com.woniuxy;

import com.woniuxy.dao.DeptMapper;
import com.woniuxy.pojo.Dept;
import com.woniuxy.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;

import java.util.List;
import java.util.Scanner;
public class App 
{
    /**
     * 应用程序的启动方法
     * @param args
     */
    public static void main( String[] args )
    {
        Scanner input=new Scanner(System.in);
        while(true){
            menu(input);
        }
    }
    /**
     * 菜单方法
     * @param input
     */
    public static void menu(Scanner input){
        System.out.println("***************人事管理系统****************");
        System.out.println("1.部门管理");
        System.out.println("2.员工管理");
        System.out.println("*******************************************");
        System.out.println("请输入，请选择:");
        int choice=input.nextInt();
        switch (choice){
            case 1:
                deptManager(input);
                break;
            case 2:
                empManager(input);
                break;
        }
    }
    /**
     * 部门管理的方法
     */
    public static void deptManager(Scanner input){
        System.out.println("人事管理系统>部门管理");
        System.out.println("1.增加部门");
        System.out.println("2.删除部门");
        System.out.println("3.修改部门");
        System.out.println("4.部门列表");
        System.out.println("请输入，请选择:");
        int choice=input.nextInt();
        SqlSession sqlSession=MyBatisUtil.crateSqlSession();
        DeptMapper deptMapper=sqlSession.getMapper(DeptMapper.class) ;
        switch (choice){
            case 1:
                System.out.println("部门管理>增加部门");
                System.out.println("请输入部门编号:");
                byte deptno=input.nextByte();
                System.out.println("请输入部门名称:");
                String dname=input.next();
                System.out.println("请输入部门地址:");
                String loc=input.next();
                Dept dept=new Dept();
                dept.setDeptno(deptno);
                dept.setDname(dname);
                dept.setLoc(loc);
                try {
                    deptMapper.insertDept(dept);
                    System.out.println("部门增加成功！");
                } catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("部门增加失败！");
                }
                break;
            case 2:
                System.out.println("部门管理>删除部门");
                System.out.println("请输入要删除的部门编号:");
                byte deptno1=input.nextByte();
                try {
                    deptMapper.deleteDept(deptno1);
                    sqlSession.commit();
                    System.out.println("删除成功！");
                } catch (Exception e) {
                    e.printStackTrace();
                    System.out.println("删除失败!");
                }
                break;
            case 3:
                System.out.println("部门管理>修改部门");
                break;
            case 4:
                System.out.println("部门管理>部门列表");
                List<Dept> deptList=deptMapper.selectDepts();
                for(Dept item:deptList){
                    System.out.println(item.getDeptno()+"\t"+item.getDname()+"\t"+item.getLoc());
                }
                break;
        }
    }
    /**
     * 员工管理的方法
     */
    public static void empManager(Scanner input){
        System.out.println("员工管理");

    }
}
